About Thread Flags and Process Flags

Thread Flags

Thread Flags provide useful information about the state and behavior of a thread. The flags are displayed as a bit mask.

Value Description
0x00000001 Thread’s object memory is not de-allocated
0x00000002 Thread’s stack is not freed
0x00000004 Thread is terminated
0x00000008 Thread cannot be resumed
0x00000010 Interrupt service thread
0x00000020 Thread has used FPU/MMX/XMM
0x00000040 Timer service thread
0x00000080 Shutdown service thread

Process Flags

Process Flags provides useful information on the state and behavior of a process. The flags are displayed as a bit mask.

Value Description
0x00000001 Process is exited
0x00000002 Process cannot be resumed
0x00000004 System process
0x00000008 Process is under debugged
0x00000010 Process is under debugged, including its child processes
0x00000020 RTSS proxy process
0x00000040 Process is a performance monitor
0x00000080 Debugger is attaching the process (for internal use only)
0x00000100 Debugger has attached the process
0x00000200 Process is undergoing local debugging
0x00000400 Process is dynamic process (for internal use only)
0x00000800 Process is calling RTDLL attach/detach routine

Thread States

State Description Results from...
Ready to run or running Indicates the thread is ready to run or already running. Returning from RtWaitForSingleObject(Ex), RtWaitForMultipleObjects(Ex), RtSleep(Ex), RtSleepFt(Ex), or by calling ResumeThread.
Wait on synch object Indicates the thread is waiting for a synchronization object (e.g., mutex, semaphore, event) and is blocked as a result. Calling RtWaitForSingleObject(Ex), RtWaitForMultipleObjects(Ex), etc.
Wait on internal event The thread is waiting for a Subsystem event, such as a timer expire, interrupt signal, or system shutdown. RTSS internal threads (from RtCreateTimer, RtAttachInterrupt, RtAttachShutdownHandler, etc.) waiting for a RTSS internal event.
Suspended Indicates the thread is suspended. Calling SuspendThread.
Sleeping Indicates the thread is sleeping. Calling RtSleep(Ex) and RtSleepFt(Ex).
Frozen The thread cannot be run.

Related topics: